Completeness and Nondeterminism in Model Checking Transactional Memories
نویسندگان
چکیده
Software transactional memory (STM) offers a disciplined concurrent programming model for exploiting the parallelism of modern processor architectures. This paper presents the first deterministic specification automata for strict serializability and opacity in STMs. Using an antichain-based tool, we show our deterministic specifications to be equivalent to more intuitive, nondeterministic specification automata (which are too large to be determinized automatically). Using deterministic specification automata, we obtain a complete verification tool for STMs. We also show how to model and verify contention management within STMs. We automatically check the opacity of popular STM algorithms, such as TL2 and DSTM, with a universal contention manager. The universal contention manager is nondeterministic and establishes correctness for all possible contention management schemes.
منابع مشابه
Mechanical Verification of Transactional Memories with Non-transactional Memory Accesses
Transactional memory is a programming abstraction intended to simplify the synchronization of conflicting memory accesses (by concurrent threads) without the difficulties associated with locks. In a previous work we presented a formal framework for proving that a transactional memory implementation satisfies its specifications and provided with model checking verification of some using small in...
متن کاملA primer on model checking
40 acm Inroads 2010 March • Vol. 1 • No. 1 Model checking is a widely used formal method for the verifi cation of concurrent programs. This article starts with an introduction to the concepts of model checking, followed by a description of Spin, one of the foremost model checkers. Software tools for teaching concurrency and nondeterminism using model checking are described: Erigone, a model che...
متن کاملA primer on model checking
40 acm Inroads 2010 March • Vol. 1 • No. 1 Model checking is a widely used formal method for the verifi cation of concurrent programs. This article starts with an introduction to the concepts of model checking, followed by a description of Spin, one of the foremost model checkers. Software tools for teaching concurrency and nondeterminism using model checking are described: Erigone, a model che...
متن کاملVerification of Liveness Properties in Transactional Memories
Transactional memory (TM) is a concurrency control mechanism that avoids common problems associated with conventional locking techniques. The correctness of concurrent programs employing a TM implementation depends on the correctness of the TM implementation. Therefore, it is important to ensure that the implementation satisfies correctness properties such as safety and liveness properties. Saf...
متن کاملModel Checking Concurrent Programs with Nondeterminism and Randomization under Alternate Semantics
For concurrent probabilistic programs having process-level nondeterminism, it is often necessary to restrict the class of schedulers that resolve nondeterminism to obtain sound and precise model checking algorithms. In this paper, we introduce two classes of schedulers called view consistent and locally Markovian schedulers and consider the model checking problem of concurrent, probabilistic pr...
متن کامل